﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Flight
/// </summary>
public class Flight
{
    private SmallRoute _route;
    public SmallRoute Route
    {
        get { return _route; }
        set { _route = value; }
    }

    private DateTime _departTime;
    public DateTime DepartTime
    {
        get { return _departTime; }
        set { _departTime = value; }
    }

    private AirPlane _plane;
    public AirPlane Plane
    {
        get { return _plane; }
        set { _plane = value; }
    }

    private int _flightID;
    public int FlightID
    {
        get { return _flightID; }
        set { _flightID = value; }
    }

    private string _flightStatus;
    public string FlightStatus
    {
        get { return _flightStatus; }
        set { _flightStatus = value; }
    }

    private int _availBussSeat;
    public int AvailBussSeat
    {
        get { return _availBussSeat; }
        set { _availBussSeat = value; }
    }

    private int _bussPrice;
    public int BussPrice
    {
        get { return _bussPrice; }
        set { _bussPrice = value; }
    }

    private int _availFirstSeat;
    public int AvailFirstSeat
    {
        get { return _availFirstSeat; }
        set { _availFirstSeat = value; }
    }

    private int _firstPrice;
    public int FirstPrice
    {
        get { return _firstPrice; }
        set { _firstPrice = value; }
    }

    private int _availClubSeat;
    public int AvailClubSeat
    {
        get { return _availClubSeat; }
        set { _availClubSeat = value; }
    }

    private int _clubPrice;
    public int ClubPrice
    {
        get { return _clubPrice; }
        set { _clubPrice = value; }
    }

    private int _childDiscount;
    public int ChildDiscount
    {
        get { return _childDiscount; }
        set { _childDiscount = value; }
    }

    private int _seniorDiscount;
    public int SeniorDiscount
    {
        get { return _seniorDiscount; }
        set { _seniorDiscount = value; }
    }

    private bool _smoking;
    public bool Smoking
    {
        get { return _smoking; }
        set { _smoking = value; }
    }

    private double _flyHour;
    public double FlyHour
    {
        get { return _flyHour; }
        set { _flyHour = value; }
    }

	public Flight()
	{
        _flightID = 0;
        _route = new SmallRoute();
        _departTime = DateTime.Now;
        _plane = new AirPlane();
        _smoking = false;
        _availBussSeat = 0;
        _availFirstSeat = 0;
        _availClubSeat = 0;
        _bussPrice = 0;
        _firstPrice = 0;
        _clubPrice = 0;
        _seniorDiscount = 0;
        _childDiscount = 0;
        _flyHour = 0;
	}
}

public class AirPlane
{
    private int _planeID;
    public int PlaneID
    {
        get { return _planeID; }
        set { _planeID = value; }
    }

    private string _name;
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }

    private int _totalBussSeat;
    public int TotalBussSeat
    {
        get { return _totalBussSeat; }
        set { _totalBussSeat = value; }
    }

    private int _totalFirstSeat;
    public int TotalFirstSeat
    {
        get { return _totalFirstSeat; }
        set { _totalFirstSeat = value; }
    }

    private int _totalClubSeat;
    public int TotalClubSeat
    {
        get { return _totalClubSeat; }
        set { _totalClubSeat = value; }
    }

    public AirPlane ()
	{
        _planeID = 0;
        _name = "";
        _totalBussSeat = 0;
        _totalClubSeat = 0;
        _totalFirstSeat = 0;
	}
}

public class BigFlight
{
    private List<Flight> _flightList;
    public List<Flight> FlightList
    {
        get { return _flightList; }
        set { _flightList = value; }
    }

    private DateTime _departTime;
    public DateTime DepartTime
    {
        get { return _departTime; }
        set { _departTime = value; }
    }

    private Location _origin;
    public Location Origin
    {
        get { return _origin; }
        set { _origin = value; }
    }

    private Location _destination;
    public Location Destination
    {
        get { return _destination; }
        set { _destination = value; }
    }

    public BigFlight()
    {
        _flightList = new List<Flight>();
        _departTime = DateTime.Now;
        _destination = new Location();
        _origin = new Location();
    }
}